SPADE: Scalable App Digging with Binary Instrumentation and Automated Execution
نویسندگان
چکیده
We present SPADE, a system for quickly and automatically analyzing runtime states of a large collection of mobile apps. Such tasks are becoming increasingly important for app stores: e.g., for checking apps’ runtime security and privacy properties, for capturing and indexing data inside apps for better app search, etc. SPADE uses two key techniques. First, it uses binary instrumentation to automatically insert custom code into app binary to capture its runtime state. Second, it executes an instrumented app in a phone emulator and automatically navigates through various app pages by emulating user interactions. SPADE employs a number of novel optimizations to increase coverage and speed. We have implemented three novel applications on SPADE. Our experiments with 5,300 apps from Windows Phone app store show that these applications are extremely useful. We also report coverage of SPADE on these apps and survey various root causes that make automated execution difficult on mobile apps. Finally, we show that our optimizations make SPADE significantly fast, allowing an app store to process up to 3,000 apps per day on a single phone emulator.
منابع مشابه
Fuzzy gain scheduling of PID controller for stiction compensation in pneumatic control valve
Inherent nonlinearities like, deadband, stiction and hysteresis in control valves degenerate plant performance. Valve stiction standouts as a more widely recognized reason for poor execution in control loops. Measurement of valve stiction is essential to maintain scheduling. For industrial scenarios, loss of execution due to nonlinearity in control valves is an imperative issue that should be t...
متن کاملMATE: Toward Scalable Automated and Dynamic Performance Tuning Environment
MATE (Monitoring, Analysis and Tuning Environment) is a tuning environment for MPI parallel applications [1]. It augments on-line automated performance diagnosis with dynamic code optimization to combine the advantages of both automated analysis and computational steering. MATE does not require program modifications to expose steerable parameters. Instead, it uses dynamic instrumentation to adj...
متن کاملFIST: A Framework for Instrumentation in Software Dynamic Translators
Software dynamic translators (SDT) typically monitor, profile, and affect the execution of a program. Such systems have been used to build many useful applications, including dynamic code optimizers for binary machine code and Java bytecode, software security checkers, binary translators, code profilers and program introspection tools. While all of these systems use program instrumentation, the...
متن کاملScaling SPADE to "Big Provenance"
Provenance middleware (such as SPADE) lets individuals and applications use a common framework for reporting, storing, and querying records that characterize the history of computational processes and resulting data artifacts. Previous efforts have addressed a range of issues, from instrumentation techniques to applications in the domains of scientific reproducibility and data security. Here we...
متن کاملBinary Instrumentation for Scalable Performance Measurement of OpenMP Applications
In this paper we present a binary instrumentation methodology to monitor runtime events. We demonstrate our approach on OpenMP constructs for the Intel and GNU compilers. A binary-level static analysis detects the compiler patterns and the runtime function calls corresponding to OpenMP regions. To this effect we integrate the software tool MAQAO with the scalable measurement infrastructure Scor...
متن کامل